// index.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    pageNum:1,//页码
    dataList:[],
    totalPageCount:0, //总页数 
    isLoading: false, //节流阀标识
    servePath:"http://localhost:8080/",
    //查询参数相关
    startLocation:'',
    endLocation:'',
    carType:'',
    carLength:'',
    shipType:'',
    //地图相关
    city:'',
    address:'',
    cityMatch:'',
    longitude: '',  // 初始经度，可替换为实际值
    latitude: '',    // 初始纬度，可替换为实际值 
    // 车辆类型双列选择器的数据
    carsType:["全部","平板挂车","平板货车"],
    lenType:["全部",4.2+"米",5.4+"米",6.8+"米"],
    /* multiIndex: [0, 0], */
    // 运输类型单列选择器的数据
    transportType:["普通","整车","零担"],
    token:'',
    userId:0
    
  },

  //定位
  getLocation(){
     wx.chooseLocation({
        success: (res)=>{
            console.log(res);
            const address = res.address;
            const cityMatch = address.match(/(?:.+省)?(.+?市)/);
            if (cityMatch && cityMatch[1]) {
              const city = cityMatch[1].replace('市', ''); // "郑州"
              this.setData({
                startLocation:city,
              }, () => {
                  // 在 setData 完成后的回调中调用 getData
                  this.getData();
                }
              );
            }
        },
        //错误信息
        fail: function (err) {
            console.log(err);
        }
    })
  },

  //目的地
  regionChange2(e){
    const city = e.detail.value[1].replace('市', ''); //eg: 北京市 => 北京
    console.log(city);
    this.setData({
      endLocation: city,
    },() => {
      // 在 setData 完成后的回调中调用 getD ata
      this.getData();
    })
    
  },

  //车辆类型
  onMultiSelected(e){
    console.log(e.detail.value[0]);//eg: 0,1
    console.log(e.detail.value[1]);
    /* let multiIndex = e.detail.value; */
    this.setData({
      /* multiIndex: multiIndex */
      carType:e.detail.value[0],
      carLength:e.detail.value[1],
    },() => {
      // 在 setData 完成后的回调中调用 getData
      this.getData();
    });
  },

  //运输类型
   onTransSelected(e) {
     console.log(e.detail.value);//eg: 0,1
    this.setData({
      shipType:e.detail.value,
    },()=>{
      this.getData();
    });
  },
 
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const token= wx.getStorageSync('token');//获取令牌
    const app=getApp();
    this.setData({
            userId:app.globalData.userId,
            token:token
          })
     this.getData();
     this.getLocation()
  },
  
  //获取数据的方法
  getData(){
    console.log("getData方法执行了！！！！！！！！！！！！！！！");
    //节流阀开始
    this.setData({
      isLoading: true
    })
    //加载时显示loading框
    wx.showLoading({
      title: '数据正在加载',
    })
    wx.request({
      url: this.data.servePath+'source/goodsOrder/list',
      data:{
        pageNum:this.data.pageNum,
        pageSize:10,
        startLocation:this.data.startLocation,
        endLocation:this.data.endLocation,
        carType:this.data.carType,
        carLength: this.data.carLength,
        shipType:this.data.shipType,
        orderStatus:0
      },
      header: {
              'authorization': 'Bearer\u0020' + this.data.token
            },
      method:'GET',
      success:(res)=>{
        console.log(res.data.rows);
        //把请求得到的数据【不追加】到data中的dataList变量
        this.setData({
          dataList:res.data.rows,
          totalPageCount:res.data.totalPageCount,
         
      
        })
      },
      complete:(res)=>{
        //加载数据完成后关闭loading框
        wx.hideLoading()
        //关闭下拉刷新
        wx.stopPullDownRefresh()
        //数据加载完成关闭节流阀
        this.setData({
          isLoading: false
        })
      },
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    if (!wx.getStorageSync('token')) {
      //没有登录跳转到登录页面
      wx.redirectTo({
        url: '/packagePersonalCenter/pages/logon/logon?backUrl=/pages/personalCenter/personalCenter',
      })
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
      pageNum:1,//页码
      dataList:[],
      totalPageCount:0 //总页数 
    })
    this.getData()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    //判断节流阀
    if(this.data.isLoading){
      return;
    }
   //没有更多数据，提示
   if(this.data.pageNum>=this.data.totalPageCount){
     wx.showToast({
       title: '没有更多数据了！',
       icon:'none'
     })
     return;
   }
   //当上提触底的时候，加载当前页+1（下一页）的数据
   this.setData({
     pageNum:this.data.pageNum + 1
   })
   this.getData()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})
